home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / cbibcode.arc / REGBGIFT.C < prev    next >
Text File  |  1991-08-05  |  2KB  |  53 lines

  1.  
  2. /*    regbgift.c---registerfarbgifont.c, pg 851-853     */
  3. /*    Example that loads a font file into memory and uses
  4.     registerfarbgifont to register and use it.        */
  5. #include <graphics.h>
  6. #include <io.h>
  7. #include <fcntl.h>
  8. #include <alloc.h>
  9. #include <stdio.h>
  10. main()
  11. {
  12.     void *        sserif_fontp;    /*    Pointer to font buffer    */
  13.     int        fhandle, graphdriver = DETECT, graphmode, errorcode;
  14.     unsigned    fontsize;
  15.     if ((fhandle = open("c:\\tc\\sans.chr", O_RDONLY|O_BINARY)) == -1)
  16.     {
  17.         printf("unable to open font file 'SANS.CHR'\n");
  18.         exit (1);
  19.     }
  20.     fontsize = filelength(fhandle);        /*     find out size    */
  21.     if((sserif_fontp = malloc(fontsize)) == NULL)
  22.     {
  23.         printf("Failed to allocate memory for font file "
  24.                             "'SANS.CHR'\n");
  25.         exit(1);
  26.     }
  27.     if (read(fhandle, sserif_fontp, fontsize) != fontsize)
  28.     {
  29.         printf("Error reading font file 'SANS.CHR'\n");
  30.         exit(1);
  31.     }
  32.     close(fhandle);             /*     close font file    */
  33.     if (registerfarbgifont(sserif_fontp) != SANS_SERIF_FONT)
  34.     {
  35.         printf("Error registering font file 'SANS.CHR'\n");
  36.         exit(1);
  37.     }
  38.     initgraph(&graphdriver, &graphmode, "c:\\tc");
  39.     errorcode = graphresult();
  40.     if(errorcode != grOk)
  41.     {
  42.         printf(grapherrormsg(errorcode));
  43.         exit(1);
  44.     }
  45.     settextstyle(SANS_SERIF_FONT, HORIZ_DIR, 4);
  46.     settextjustify(CENTER_TEXT, CENTER_TEXT);
  47.     outtextxy( getmaxx() / 2, getmaxy() /2,
  48.                 "Turbo C 2.0 Graphics: Sans Serif Font");
  49.     settextstyle(SANS_SERIF_FONT, HORIZ_DIR, 1);
  50.     outtextxy(getmaxx()/2, getmaxy() - 50, "Press any key to exit:");
  51.     getch();
  52.     closegraph();             /*    Exit graphics library    */
  53. }